#!/usr/bin/python3 from scapy.all import * import time ID = 1000 dst_ip = "10.9.0.5" # Fragment No.1 (Fragment offset: 0) udp = UDP(sport=7070, dport=9090, chksum=0) udp.len = 8 + 32 + 40 + 20 # UDP Header: 8 # Fragment 1: 32 # Fragment 2: 40 # Fragment 3: 20 ip = IP(dst=dst_ip, id=ID, frag=0, flags=1) payload = "1" * 31 + "\n" pkt1 = ip/udp/payload pkt1.show() send(pkt1, verbose=0) # Fragment No.2 (Fragment offset: (8 + 32)/8 = 5) ip = IP(dst=dst_ip, id=ID, frag=5, flags=1) ip.proto = 17 payload = "2" * 39 + "\n" pkt2 = ip/payload pkt2.show() send(pkt2, verbose=0) # Fragment No.3 (Fragment offset: (8 + 32 + 40)/8 = 10) ip = IP(dst=dst_ip, id=ID, frag=10, flags=0) ip.proto = 17 payload = "3" * 19 + "\n" pkt3 = ip/payload pkt3.show() send(pkt3, verbose=0)